home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / qwik30.arc / QWIK30.INC < prev    next >
Text File  |  1991-01-09  |  8KB  |  190 lines

  1. { Qwik30.inc - Complete QWIK screen procedures              ver 3.0, 08-31-87 }
  2.  
  3. type
  4.   Str80   = string[80];
  5.  
  6. var
  7.   Vmode:       byte    absolute $0040:$0049;
  8.   EgaRows:     byte    absolute $0040:$0084;
  9.   EgaFontSize: integer absolute $0040:$0085;
  10.   EgaInfo:     byte    absolute $0040:$0087;
  11.   CRTcolumns:  byte    absolute $0040:$004A;
  12.   Page0seg,Qseg:          integer;
  13.   MaxPage:                byte;
  14.   CardWait,Qwait,HavePS2: boolean;
  15.   EgaSwitches,SystemID,SubModelID,ActiveDD,AltDD: byte;
  16.   PCCAltDD:               integer;
  17.  
  18. const
  19.   NoDisplay = $00;   VgaMono   = $07;
  20.   MdaMono   = $01;   VgaColor  = $08;
  21.   CgaColor  = $02;   DCC9      = $09;
  22.   DCC3      = $03;   DCC10     = $0A;
  23.   EgaColor  = $04;   McgaMono  = $0B;
  24.   EgaMono   = $05;   McgaColor = $0C;
  25.   PgcColor  = $06;   Unknown   = $FF;
  26.  
  27. procedure Qinit;
  28. begin
  29.   Inline($B4/$C0/$CD/$15/$72/$06/$26/$8B/$57/$02/$EB/$0C/$B9/$00/$F0/$8E/$C1/
  30.     $26/$8A/$16/$FE/$FF/$88/$CE/$31/$C9/$8E/$C1/$26/$8A/$3E/$49/$04/$B3/$01/
  31.     $80/$FF/$07/$75/$05/$B8/$00/$B0/$EB/$12/$B8/$00/$B8/$43/$B5/$07/$38/$DF/
  32.     $78/$08/$D0/$ED/$80/$FA/$FD/$74/$01/$41/$A3/>PAGE0SEG/$88/$0E/>CARDWAIT/
  33.     $88/$2E/>MAXPAGE/$A2/>HAVEPS2/$88/$16/>SYSTEMID/$88/$36/>SUBMODELID/$88/
  34.     $1E/>ACTIVEDD/$A2/>ALTDD/$80/$FA/$F9/$75/$19/$B4/$15/$CD/$10/$A3/>PCCALTDD/
  35.     $26/$81/$3D/$40/$51/$75/$7B/$80/$3E/>ACTIVEDD/$01/$75/$6F/$B0/$03/$EB/$68/
  36.     $B8/$00/$1A/$CD/$10/$3C/$1A/$75/$1D/$C6/$06/>HAVEPS2/$01/$88/$1E/>ACTIVEDD/
  37.     $88/$3E/>ALTDD/$80/$FB/$07/$78/$0B/$B8/$00/$12/$B3/$34/$CD/$10/$B0/$07/$EB/$42/
  38.     $B4/$12/$B3/$10/$CD/$10/$80/$FB/$10/$74/$3F/$88/$0E/>EGASWITCHES/$31/$D2/
  39.     $8E/$C2/$38/$16/>HAVEPS2/$75/$19/$88/$F8/$04/$04/$26/$F6/$06/$87/$04/$08/
  40.     $74/$05/$A2/>ALTDD/$EB/$20/$A2/>ACTIVEDD/$2C/$03/$A2/>ALTDD/$B0/$07/$84/
  41.     $DB/$75/$0A/$26/$80/$3E/$49/$04/$02/$78/$02/$D0/$E8/$A2/>MAXPAGE/$C6/$06/
  42.     >CARDWAIT/$00/$A0/>CARDWAIT/$A2/>QWAIT/$A1/>PAGE0SEG/$A3/>QSEG);
  43. end;
  44.  
  45. { ----------------------------- QWRITES MODULE ------------------------------ }
  46. procedure QwritesDisp;
  47. begin
  48.   Inline($4A/$88/$E6/$31/$C0/$8E/$C0/$26/$A1/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/
  49.     $88/$DC/$88/$F0/$8E/$46/$FC/$26/$80/$3E/>QWAIT/$00/$26/$8E/$06/>QSEG/$75/
  50.     $32/$84/$FF/$78/$16/$41/$D1/$E9/$EB/$08/$AD/$88/$E7/$88/$DC/$AB/$88/$F8/
  51.     $AB/$E2/$F5/$73/$6C/$AC/$AB/$EB/$68/$41/$89/$CA/$D1/$E9/$EB/$05/$AD/$AA/
  52.     $47/$88/$E0/$AA/$47/$E2/$F7/$D1/$EA/$73/$54/$AC/$AA/$EB/$50/$BA/$DA/$03/
  53.     $84/$FF/$78/$29/$88/$DC/$EB/$01/$AC/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/
  54.     $F8/$80/$F9/$90/$78/$B7/$EB/$0B/$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/
  55.     $F8/$AB/$FB/$E2/$DF/$EB/$22/$AC/$47/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/
  56.     $F8/$80/$F9/$80/$78/$A9/$EB/$0B/$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/
  57.     $F8/$AA/$FB/$E2/$DE/$FB/$C3);
  58. end;
  59.  
  60. procedure QwriteLV (Row, Col: byte; Attr, Length: integer; VAR St);
  61. begin
  62.   Inline($8B/$4E/<LENGTH/$85/$C9/$7E/$18/$1E/$C5/$76/<ST/$FC/$AC/$88/$C4/$8B/
  63.     $56/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/>QWRITESDISP-*+5/$1F);
  64. end;
  65.  
  66. procedure QwriteV (Row, Col: byte; Attr: integer; VAR St);
  67. begin
  68.   Inline($1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$0F/$8B/$56/<ROW/$8B/$7E/
  69.     <COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/>QWRITESDISP-*+5/$1F);
  70. end;
  71.  
  72. procedure Qwrite (Row, Col: byte; Attr: integer; St: Str80);
  73. begin
  74.   Inline($1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$12/$8B/
  75.     $96/>ROW/$8B/$BE/>COL/$4F/$D1/$E7/$8B/$9E/>ATTR/$E8/>QWRITESDISP-*+5/$1F);
  76. end;
  77.  
  78. procedure QwriteC (Row, ColL, ColR: byte; Attr: integer; St: Str80);
  79. begin
  80.   Inline($1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$1A/$8B/
  81.     $96/>ROW/$8B/$BE/>COLL/$03/$BE/>COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$9E/
  82.     >ATTR/$E8/>QWRITESDISP-*+5/$1F);
  83. end;
  84.  
  85. procedure QwriteCV (Row, ColL, ColR: byte; Attr: integer; VAR St);
  86. begin
  87.   Inline($1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$16/$8B/$56/<ROW/$8B/$7E/
  88.     <COLL/$03/$7E/<COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$E8/
  89.     >QWRITESDISP-*+5/$1F);
  90. end;
  91.  
  92. { ------------------------------ QFILLS MODULE ------------------------------ }
  93. procedure QfillsDisp;
  94. begin
  95.   Inline($48/$31/$D2/$8E/$C2/$26/$8B/$16/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/$88/
  96.     $E8/$30/$ED/$29/$CA/$D1/$E2/$52/$51/$85/$F6/$7E/$31/$85/$C9/$7E/$2D/$88/
  97.     $DC/$FC/$3A/$2E/>QWAIT/$8E/$06/>QSEG/$75/$29/$84/$FF/$78/$0E/$89/$CA/$F2/
  98.     $AB/$4E/$74/$15/$89/$D1/$03/$7E/$FA/$EB/$F4/$41/$89/$CA/$D1/$E9/$73/$02/
  99.     $AA/$47/$AA/$47/$E2/$FA/$4E/$7E/$58/$89/$D1/$03/$7E/$FA/$EB/$EC/$BA/$DA/
  100.     $03/$88/$C3/$84/$FF/$78/$27/$FA/$EC/$A8/$08/$74/$07/$88/$D8/$F2/$AB/$FB/
  101.     $EB/$0F/$D0/$D8/$72/$F0/$EC/$D0/$D8/$73/$FB/$88/$D8/$AB/$FB/$E2/$E4/$4E/
  102.     $74/$29/$8B/$4E/$F8/$03/$7E/$FA/$EB/$D9/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/
  103.     $72/$F7/$EC/$D0/$D8/$73/$FB/$88/$D8/$AA/$FB/$47/$E2/$EA/$4E/$74/$08/$8B/
  104.     $4E/$F8/$03/$7E/$FA/$EB/$DF/$81/$C4/$04/$00/$C3);
  105. end;
  106.  
  107. procedure QfillC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer; Ch: char);
  108. begin
  109.   Inline($8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E/
  110.     <COLS/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$8A/$6E/<CH/$E8/
  111.     >QFILLSDISP-*+5);
  112. end;
  113.  
  114. procedure Qfill (Row, Col, Rows, Cols: byte; Attr: integer; Ch: char);
  115. begin
  116.   Inline($8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$76/<ROWS/$8A/$4E/<COLS/
  117.     $8B/$5E/<ATTR/$8A/$6E/<CH/$E8/>QFILLSDISP-*+5);
  118. end;
  119.  
  120. procedure Qattr (Row, Col, Rows, Cols: byte; Attr: integer);
  121. begin
  122.   Inline($8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$47/$8B/$76/<ROWS/$8A/$4E/<COLS/
  123.     $8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/$80/$E8/>QFILLSDISP-*+5);
  124. end;
  125.  
  126. procedure QattrC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer);
  127. begin
  128.   Inline($8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E/
  129.     <COLS/$29/$CF/$81/$CF/$01/$00/$8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/
  130.     $80/$E8/>QFILLSDISP-*+5);
  131. end;
  132. { --------------------------------------------------------------------------- }
  133.  
  134. procedure QstoreToMem (Row, Col, Rows, Cols: byte; VAR Dest);
  135. begin
  136.   Inline($8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$63/$85/$C9/$7E/$5F/$31/$D2/
  137.     $8E/$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C6/$03/$76/<COL/
  138.     $4E/$D1/$E6/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$C4/$7E/<DEST/$3A/$2E/>QWAIT/
  139.     $8E/$1E/>QSEG/$75/$0C/$F2/$A5/$4B/$74/$29/$8B/$4E/$FA/$01/$D6/$EB/$F4/$BA/
  140.     $DA/$03/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$AD/
  141.     $FB/$AB/$E2/$EC/$4B/$74/$08/$8B/$4E/$FA/$03/$76/$FC/$EB/$E1/$1F/$81/$C4/
  142.     $04/$00);
  143. end;
  144.  
  145. procedure QstoreToScr (Row, Col, Rows, Cols: byte; VAR Source);
  146. begin
  147.   Inline($8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$68/$85/$C9/$7E/$64/$31/$D2/
  148.     $8E/$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C7/$03/$7E/<COL/
  149.     $4F/$D1/$E7/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$3A/$2E/>QWAIT/$8E/$06/>QSEG/
  150.     $C5/$76/<SOURCE/$75/$0C/$F2/$A5/$4B/$74/$2E/$8B/$4E/$FA/$01/$D7/$EB/$F4/
  151.     $BA/$DA/$03/$AD/$88/$C7/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/
  152.     $D8/$73/$FB/$88/$F8/$AB/$FB/$E2/$E8/$FE/$CB/$74/$08/$8B/$4E/$FA/$03/$7E/
  153.     $FC/$EB/$DC/$1F/$81/$C4/$04/$00);
  154. end;
  155.  
  156. procedure QviewPage (Page: byte);
  157. begin
  158.   Inline($8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$08/$85/$C0/$78/$04/$B4/$05/$CD/
  159.     $10);
  160. end;
  161.  
  162. procedure QwritePage (Page: byte);
  163. begin
  164.   Inline($8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$18/$85/$C0/$78/$14/$31/$C9/$8E/
  165.     $C1/$26/$F7/$26/$4C/$04/$B1/$04/$D3/$E8/$03/$06/>PAGE0SEG/$A3/>QSEG);
  166. end;
  167.  
  168. procedure GotoRC (Row,Col: byte);
  169. begin
  170.   Inline($B4/$02/$31/$DB/$8E/$C3/$26/$8A/$3E/$62/$04/$8A/$76/<ROW/$FE/$CE/$8A/
  171.     $56/<COL/$FE/$CA/$CD/$10);
  172. end;
  173.  
  174. procedure CursorChange (New: integer; VAR Old: integer);
  175. begin
  176.   Inline($31/$C0/$8E/$C0/$26/$A1/$60/$04/$C4/$7E/<OLD/$AB/$B4/$01/$8B/$4E/<NEW/
  177.     $CD/$10);
  178. end;
  179.  
  180. procedure CursorOff;
  181. begin
  182.   Inline($31/$C0/$8E/$C0/$26/$A1/$60/$04/$80/$E4/$BF/$80/$CC/$20/$89/$C1/$B4/
  183.     $01/$CD/$10);
  184. end;
  185.  
  186. procedure CursorOn;
  187. begin
  188.   Inline($31/$C0/$8E/$C0/$26/$A1/$60/$04/$80/$E4/$DF/$89/$C1/$B4/$01/$CD/$10);
  189. end;
  190.